@echo off
echo ========================================
echo 第二课堂管理系统菜单按钮修复工具
echo 创建于2025年3月13日
echo ========================================
echo.

REM 设置数据库连接参数
set DB_USER=root
set DB_PASSWORD=password
set DB_NAME=scms25
set DB_HOST=localhost
set DB_PORT=3306

echo [1/4] 检查当前系统运行状态...
REM 检查是否有Java进程占用8089端口
netstat -ano | findstr ":8089" > nul
if %errorlevel% equ 0 (
    echo [警告] 系统当前正在运行，建议关闭系统后再执行修复操作。
    set /p CONTINUE=是否继续执行修复操作？(Y/N): 
    if /i not "%CONTINUE%"=="Y" (
        echo 已取消修复操作，请稍后再试。
        goto :end
    )
)

echo [2/4] 执行菜单按钮修复SQL脚本...
REM 执行SQL脚本
mysql -u%DB_USER% -p%DB_PASSWORD% -h%DB_HOST% -P%DB_PORT% %DB_NAME% < sql/fix_menu_buttons.sql
if %errorlevel% neq 0 (
    echo [错误] SQL脚本执行失败，请检查SQL文件和数据库连接参数。
    goto :end
)

echo [3/4] 检查脚本执行结果...
echo SQL脚本已成功执行。已完成以下操作：
echo - 备份当前菜单表到sys_menu_backup_buttons
echo - 修复教师管理按钮的父级菜单ID
echo - 为学生管理创建相应的按钮权限
echo - 为管理员角色添加学生管理按钮权限
echo - 确保菜单项可见性正确设置

echo [4/4] 重启系统以应用更改...
set /p RESTART=是否重启系统以应用更改？(Y/N): 
if /i "%RESTART%"=="Y" (
    echo 正在重启系统...
    
    REM 结束当前可能运行的Java进程
    for /f "tokens=5" %%a in ('netstat -ano ^| findstr ":8089"') do (
        taskkill /PID %%a /F
    )
    
    REM 启动后端服务
    start cmd /k "cd scms-admin && mvn spring-boot:run"
    
    REM 启动前端服务
    timeout /t 3 > nul
    start cmd /k "cd scms-ui && npm run dev"
    
    echo 系统已重启，请稍后访问前端页面查看菜单结构更改。
) else (
    echo 系统未重启，您可以稍后手动重启系统以应用更改。
)

:end
echo.
echo 修复操作完成，详细报告请查看 menu_buttons_fix_report.md
pause 